The Controller Area Network (CAN) protocol is a serial communication protocol for communicating between various electronic devices or nodes. In accordance with CAN protocol (ISO 11898), multiple different electronic devices or nodes can be coupled to a single serial bus. Identifier bits are provided in CAN frames to allow messages and data to be directed to certain nodes on the CAN bus, and not to other nodes on the CAN bus. For example, if a device associated with an automobile dashboard sends a frame onto the CAN bus requesting that the headlights be turned on, the device on the CAN bus responsible for the brake lights can determine that the frame is intended for another device and not act upon the frame. The device controlling the headlights, however, receives and acts upon the frame by turning on the headlights.
Since the CAN signals are propagated on a common bus, reflected signals can compromise the integrity of the system. To address signal reflection concerns, resistors are typically incorporated into the CAN bus circuit at the ends of the CAN bus. Resistors are also typically provided to satisfy driver requirements of a resistive load. For example, in the ISO11898, the drivers require 60 ohms of resistive load. This requires finding the last nodes (each end) on a CAN bus and adding a termination resistor only to the ends of the nodes (ISO898 recommends approximately 120 ohm+/−10%). Because CAN bus nodes are connected in parallel, it is not always an easy task to find the last node, especially when an undetermined number of nodes are present.
Both mechanical and electrical approaches have been used to attempt to address CAN termination. Most mechanical approaches tend to use expensive relays and customer depression switches. As an example of a mechanical approach, some Ethernet boxes include a physical switch that engages or disengages when attaching a cable. Although this allows for cable detection, this mechanical approach does not adequately resolve auto-termination, since most of the boxes require a phone-jack plug containing a resistor in order to terminate the node. Another mechanical approach is to put the termination resistors inside a plug which attaches to the end of a cable, thus mechanically terminating only the nodes to which the plug is attached. This mechanical approach, however, can lead to issues if an individual inadvertently disconnects the plug thus defeating the purpose of the termination to the bus and making, for example, an entire remote-mount radio system unreliable. In the automotive industry, such terminations are not typically accessible to the consumer for just that reason.
An existing electrical approach to auto-termination described in U.S. Pat. No. 6,587,968 involves monitoring an electrical operating parameter of CAN data communication activity. However, this two stage circuit approach is rather complicated and is dependent on active signal detection in order to accomplish auto-termination. The power-on signal requirement means that each node is responsible for regenerating a power-on signal for the next node. This approach has a limitation in that a threshold is necessary in order to determine node presence, through techniques such as current monitoring. If the threshold varies, due to events such as temperature or part tolerance variations, or if a node is unable to power-up and draw current, then the method of cable detection can be compromised. As remote mount radios and accessories become more prevalent the need to adopt an auto-termination circuit becomes highly desirable.
Accordingly, there is a need for an improved termination circuit and technique for a CAN bus.